///////////////////////////////////////////////////////////
//  ObjectDomain.h
//  Implementation of the Class ObjectDomain
//  Created on:      21-sep-2007 15:40:09
///////////////////////////////////////////////////////////

#if !defined(EA_6425D63B_6809_4185_9FF2_7B8F17AFA3F3__INCLUDED_)
#define EA_6425D63B_6809_4185_9FF2_7B8F17AFA3F3__INCLUDED_

#include "Comparable.h"
#include "LoadeableXML.h"
#include "Persistent.h"
#include <string>

#define MAX_LONG_NAME 30

class ObjectDomain : public Comparable, public LoadeableXML, public Persistent
{

public:
	ObjectDomain();
	virtual ~ObjectDomain();
	virtual std::string getValor(std::string atribName) =0;
	virtual void loadAtribFromNode(XMLNode* node) =0;
	virtual void loadRegistro(void* registro) =0;
	virtual void saveInRegistro(void* reg) =0;
	//	virtual void getSchema(campo * ptrCampo) = 0;
	virtual campo * getSchema() = 0;
	virtual int getSchemaSize() = 0;
	virtual campo* getPrimaryKey() = 0;
	virtual bool EsMayor(std::string atributte, Persistent *object) = 0;
	virtual std::string getKey() = 0;
	virtual void print() = 0;

};
#endif // !defined(EA_6425D63B_6809_4185_9FF2_7B8F17AFA3F3__INCLUDED_)
